﻿// 3504. 字符串转换整数.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <string>
#include <limits.h>

using namespace std;
/*
https://www.acwing.com/problem/content/3507/

给定一个字符串，字符串由数字和大小写字母构成，请你找到并输出其中的第一个有效整数。

如果无法找到有效整数，或者找到的有效整数超过 int 范围，则输出 −1。

输入格式
一行一个字符串。

输出格式
一个整数表示结果。

数据范围
字符串长度不超过 100
输入样例1：
2016
输入样例1：
2016
输入样例2：
o627CSo1
输出样例2：
627
输入样例3：
123456789123abc
输出样例3：
-1
输入样例4：
abc
输出样例4：
-1
*/

string str;
int main()
{
	while (cin >> str) {
		int curr = 0; long long  res = 0;
		for (int i = 0; i < str.size(); i++) {
			if (str[i] >= '0' && str[i] <= '9' && curr == 0) {
				curr = 1;
				res = res * 10 + str[i] - '0';
			}
			else if (str[i] >= '0' && str[i] <= '9' && curr == 1) {
				curr = 1;
				res = res * 10 + str[i] - '0';
			}
			else if ((str[i] < '0' || str[i] > '9') && curr == 1) {
				break;
			}
		}
		if (res > INT_MAX || curr!=1) {
			res = -1;
		}
		cout << res << endl;
	}


	return 0;
}

